home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 25 / CU Amiga Magazine's Super CD-ROM 25 (1998)(EMAP Images)(GB)(Track 1 of 2)[!][issue 1998-08].iso / CUCD / Programming / QuakeTools / src / libqdisplay / render.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-06-09  |  1.1 KB  |  30 lines

  1. #ifndef RENDER_H
  2. #define RENDER_H
  3. #include "3d.h"
  4.  
  5. extern int type;
  6. extern int model;
  7.  
  8. extern unsigned char *visibleFaces;    //[MAX_MAP_FACES / 8 + 1];
  9. extern unsigned char *visibleLeafs;    //[MAX_MAP_LEAFS / 8 + 1];
  10. extern unsigned char *visibleNodes;    //[MAX_MAP_NODES];
  11.  
  12. #define is_marked_leaf(x)    (visibleLeafs[(x) >> 3] &   (1 << ((x) & 7)))
  13. #define is_marked_node(x)    (visibleNodes[(x) >> 3] &   (1 << ((x) & 7)))
  14. #define is_marked_face(x)    (visibleFaces[(x)])
  15. #define mark_leaf(x)        (visibleLeafs[(x) >> 3] |=  (1 << ((x) & 7)))
  16. #define mark_node(x)        (visibleNodes[(x) >> 3] |=  (1 << ((x) & 7)))
  17. #define mark_face(x)        (visibleFaces[(x)] = contents)
  18. #define unmark_leaf(x)        (visibleLeafs[(x) >> 3] &= ~(1 << ((x) & 7)))
  19. #define unmark_node(x)        (visibleNodes[(x) >> 3] &= ~(1 << ((x) & 7)))
  20. #define unmark_face(x)        (visibleFaces[(x)] = 0)
  21.  
  22. int leaf_in_frustrum(struct dleaf_t * node);
  23. void mark_leaf_faces(__memBase, int leaf);
  24. int node_in_frustrum(struct dnode_t * node);
  25. void render_node_faces(__memBase, int node, int side);
  26. void render_world(__memBase);
  27. int visit_visible_leaves(__memBase);
  28.  
  29. #endif
  30.